Made with Unity | 一招一式皆有道!中国范儿的激爽格斗手游,是怎么做出来的?
5月27日,腾讯魔方工作室的漫改新手游《一人之下》全平台上线,仅凭五天的下载量就“空降”5月份iOS中国游戏下载榜Top 3的位置,可谓是把这个国漫IP发挥得非常6了。
浓厚市井风的街巷场景设计,别具特色的方言配音,畅快淋漓的横板打斗玩法,都让这个满满“中国范儿”的漫改手游大放异彩。说起来这些年格斗品类的游戏不少,但中国元素却并不多见,玩家们印象中熟悉的一招一式也都是日系风格,而《一人之下》打破了此格局,不但将中国武术、奇门遁甲全都用手游的形式完美展现,还邀请漫画作者米二亲自担任手游世界观架构师,高度还原原著风格与剧情,这诚意让忠粉们都纷纷点头。
大家知道对格斗游戏来说流畅的动作展现、打击感、平衡性等细节非常重要,在此方面魔方工作室有着深厚的积累。我们特意请到了魔方工作室的主美童铮,以及主程魏喜磊,跟大家分享《一人之下》手游的设计理念。
魔方工作室主美童铮
魔方工作室主程魏喜磊
01
美术、技术层面的制作思路
《一人之下》的创角界面效果很不错并接近了影视动画的效果,可以从美术和技术两个层面介绍一下制作思路吗?
有朋友说《一人之下》原著有种贾樟柯式的美术风格,他这么总结我感觉还挺幽默的。细想了下可能是因为一人之下的原著风格可以说是比较接地气吧,甚至可以说有一点点的“土味”,他有市井的烟火气,有各种方言和地标,也有很多从传统文化中提取的较为经典的视觉符号。其实手游在大体上还是继承了原著中的这种感觉,但是我们没有刻意往“土味”这个方向去做强化。在这个场景的制作过程中我们经历了多次的迭代,甚至设计都推翻过一次。
初衷还是希望能营造一个生动且接地气的环境。经过多次的讨论和实践,我们决定通过复古和年代感或者是一些较为朴素的视觉元素去体现,这个概念有点点像vintage。
因此我们查阅了非常多真实环境的参考,最后确定了这个露天小车站。包括月台上的内容,火车的造型,远处的楼房等等都围绕着我们的这个设计概念去制作的。镜头视角也调整过好几版,其实真实火车进站都是直的铁轨,为了让画面更有张力,我们还是把直线的铁轨改成了弯道,牺牲了一点逻辑去成就美术效果。
技术上的话,由于我们整体流程采用的都是静态光照来制作,因此看到的光照效果都是预先在Unity里烘焙好的。针对这个场景,其实是我们尝试GPU渲染流程的第一个场景。我们在Unity资源丰富的Asset Store里尝试了一个不错的渲染器插件Bakery。除了给车站烘焙了比较精细的光照以外,其实也还给火车也烘焙了同一个环境的光照,然后再为其制作了一段Unity动画,让它可以循环进站出站。针对车站顶棚对车身的投影,我们专门为其制作了一个Shader做空间着色,让物体在空间内的一段距离里能变暗,以此来模拟这个动态的投影。至于角色的投影也是单独考虑的,将角色模型复制出一份然后压扁成片,再着色来模拟动态投影。其他还有一些小细节比如玻璃的反射,司机的动画,站牌和广告上的信息等等也都是花了不少心思去打磨。
02
独具一格的UI设计
首先UI的整体风格是以《一人之下》世界观为前提,在交互方面,我们认为需要更加简洁有效的界面引导。在视觉层面,以二次元风格,IP代入感,轻薄扁平,简约潮流为主。设计色彩冲击力较大,有明确的明暗分割,多应用集合纹理叠加与图形暗纹叠加。视觉呈现上,我们会去提炼一些文化符号,例如水墨、毛笔字、道教、八卦这些等等。然后再通过对这些图形做些结合和设计,应用到我们的表现之中。例如结合道家文化提取跟IP相关的元素来设计成我们的基础暗纹,提取中国千鸟纹作为基础的图形,然后把这些图形应用到UI界面中。
角色技能的图标视觉呈现这块,我们会先通过技能的强弱和属性以及角色特性去做分类考虑。例如一个角色会有一套通用配色,比如金光咒的技能都是金色系,雷法技能都是蓝色系,同时设计师会根据底色,去调整图标的美观度。同样都是蓝色,雷法蓝和冰冻法术的蓝,又做了细分,还原技能印象,表达技能的属性与方向感。
03
高质量的游戏渲染
游戏精细地还原漫画中展现的国内地标性建筑和动漫原著中的场景,画面风格精美细腻,请问基于Unity的哪个版本、哪种渲染管线实现的呢?关于这块可以跟大家分享下吗?
说到场景这块,我感觉在目前全球化的大背景下,会经常觉得自己身处的城市越来越同质化,只要是大城市,无论是北上广深,还是纽约东京等等,他们之间的差异化都在逐渐缩小,虽然一定还是会给你不一样的感觉,但其构成无非也就是商圈、学校、小区和CBD,然后在用公路把大家连接在一起。所以我会比较在意游戏里一个场景能够带给玩家的感受,它最好能够让玩家在接下来的几十分钟或者几小时里,从当前这个纷扰的环境中脱离出来去感受另一种体验。
对于场景的制作这块,目前我们绝大部分场景资源都是采用的Unity 5.6的内置渲染管线。场景美术同学在Unity里布置灯光,基于Enlighten做渲染烘焙。大多数情况是用的Unity直出光照图,对于一些特殊的场景会对光照图进行手绘调整。Unity的内置渲染管线已经给了场景美术比较扎实的技术底子,计算出来的光照反弹很细腻,为场景美术减少了不少工作难度,让场景美术能专注在美术设计上。由于项目基于Unity 5.6做了很多工作,不便升级到最新的Unity,随着技术的不断革新,后期我们也尝试了一些其他的基于Unity 5.6的GPU渲染管线,从AssetStore里看到非常多的选择。尝试了部分场景用新的渲染管线,包括前面提到的火车站,功能也非常强大,基于GPU渲染也提速了不少,未来会逐渐转移到Unity新版本和新的渲染管线(URP、HDRP)上去。
04
企业技术支持
在游戏开发过程中,Unity企业支持团队对游戏项目提供了那些帮助?
在整个游戏开发过程中,Unity企业支持团队给游戏研发提供了非常多的帮助,我们也建立着非常良好的合作关系。他们帮助我们进行详尽的性能分析,有时也会遇到一些引擎底层的问题,这时就会需要Unity企业支持团队帮助对引擎底层的设计原理进行深入了解或者对引擎功能进行改进优化。
05
复杂的战斗模式,流畅的游戏体验
游戏流畅度对格斗游戏来说非常重要,游戏的整体帧率比较高,可见对游戏的优化作出了很多的努力,关于游戏的性能优化可以给大家分享总结下经验吗?
在《一人之下》手游这款游戏中,我们的核心单局战斗实现十分复杂,组队副本中会存在4个不同职业专精的主角,每个角色会携带十几个技能,不同技能见还有类似增益的相互关系,8类药品,同时每个角色还可以携带1名援助异人、3个法器技能,战斗中还有其他不同装备和套装带来的各种属性,复杂的机制对性能的挑战非常大。
这里除了常规的LOD方案外,我们在项目初级阶段,结合未来市场机型情况,设定各类资源制作标准,能够保证不出现较大系统性风险。
过程中,我们有一系列工具,保证各类合入游戏内的资源符合标准,同时结合CI、自动化,实时监控性能,输出问题报告,不断迭代优化,这里值得一提的是我们的监控除了静态性能数据还包括了运行时数据,除了单个资源还包括了不同技能、不同角色、不同副本、不同组合等情况。
除了上述部分,我们还结合Unity Profiler工具自己开发了一套监控系统,可以把横向数据、纵向数据都管理起来,可以自主分析定位不同版本、不同模块的问题。
06
技能即按即发,战斗代入感UP
在战斗操作上,《一人之下》采用的是最常见的虚拟摇杆+技能释放按键,并且在战斗时人物动作与技能释放自然流畅,团队对这二者之间进行了哪些调整?
操作上,《一人之下》手游选择了虚拟摇杆+技能释放按键,虽然是最常见的方法,但是团队在很多细节上做了细致的打磨,比如,技能按键上,为了让玩家更轻松的在技能间快速切换,按住的手指不用抬起来直接划过去就可以触发;为了解决玩家带多种药剂、法器技的按钮繁多的情况,我们也设计了轮盘树状操作按钮和自动切换按钮,这一设计我们也申请了专利;摇杆的移动上,在如何保持高灵敏转身又比较容易上下行走上也做了比较细致的方案;针对职业技能设计的不同需求,技能按钮支持普通释放、蓄力、持续触发等不同方式。
07
用技术保障格斗公平
不少的格斗游戏中都出现玩家A被玩家B打击而浮空(挑飞),玩家B接着不停的出拳和连招让玩家A无法落地而只能任由被KO,《一人之下》是如何尽量避免这种情况的?
我们浮空的重力参数和初始浮空的打击力决定了人物受击浮空的时长,所以最开始我们就会设计好一个合理的浮空时长的“度“,既可以让玩家B做到空中连续连招,但也不会连续打击到不给玩家A任何还手的机会。打击到一定程度,A就会很快落地,不能再被B打击,对A触发受击保护的同时也最大程度上保留攻击者B的打击感和连招体验。太无脑的连续浮空打击,或连招连不起来,都不是我们想要的。
08
引擎优势
通过这次合作,可以分享一下用Unity开发格斗类游戏有哪些优势吗?
长按关注
第一时间了解Unity引擎动向,学习最新开发技巧
每一个“在看”,都是我们前进的动力